import { markRaw } from "vue";
import type { viceMenusTypes } from "@/store/modules/types";
import SPECIALTY from "@/assets/svg/vice_menu/special_gas.svg?component";
import ATMOSPHERIC from "@/assets/svg/vice_menu/atmosphere.svg?component";
import CHEMICALS from "@/assets/svg/vice_menu/chemicals.svg?component";
import SPECIALTY_ACTIVE from "@/assets/svg/vice_menu/special_gas_active.svg?component";
import ATMOSPHERIC_ACTIVE from "@/assets/svg/vice_menu/atmosphere_active.svg?component";
import CHEMICALS_ACTIVE from "@/assets/svg/vice_menu/chemicals_active.svg?component";
import ELECTRICTITY from "@/assets/svg/vice_menu/electricitity.svg?component";
import HOT_WATER_NEW from "@/assets/svg/vice_menu/hot_water_new.svg?component";
import NG from "@/assets/svg/vice_menu/ng.svg?component";
import HOT_STEAM from "@/assets/svg/vice_menu/hot_steam.svg?component";
import ELECTRICTITY_ACTIVE from "@/assets/svg/vice_menu/electricitity_active.svg?component";
import HOT_WATER_NEW_ACTIVE from "@/assets/svg/vice_menu/hot_water_new_active.svg?component";
import NG_ACTIVE from "@/assets/svg/vice_menu/ng_active.svg?component";
import HOT_STEAM_ACTIVE from "@/assets/svg/vice_menu/hot_steam_active.svg?component";
import CDA from "@/assets/svg/vice_menu/cda.svg?component";
import CDA_ACTIVE from "@/assets/svg/vice_menu/cda_active.svg?component";
import HOT_WATER from "@/assets/svg/vice_menu/hot_water.svg?component";
import HOT_WATER_ACTIVE from "@/assets/svg/vice_menu/hot_water_active.svg?component";

/**
 * @description:             配置需要添加副路由的页面
 * @params name              当前路由的name值（全局唯一）
 * @params menus             当前路由对应的副路由
 * @params isNotImmediate    是否默认不显示副路由，默认false，即默认显示
 */
export const viceMenus: Array<{
  name: string;
  menus: Array<string>;
  isNotImmediate?: boolean;
}> = [
  //  fab机台/总览/看板（气化课 GAS）（暂时保留 2024-10-08）
  {
    name: "GAS_FAB_OVERVIEW",
    menus: ["SPECIALTY", "ATMOSPHERIC", "CHEMICALS"],
    isNotImmediate: true
  },
  //  fab机台/总览/看板（ALL）
  {
    name: "ALL_FAB_OVERVIEW",
    menus: ["SPECIALTY", "ATMOSPHERIC", "CHEMICALS"],
    isNotImmediate: true
  },
  {
    name: "AllEnergySupplyMonitor",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "AllEnergySupplyFlow",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "AllEnergySupplyReport",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "WATER_ENERGY_MONITOR",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "WATER_ENERGY_SUPPLY_FLOW",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "WATER_ENERGY_SUPPLY_REPORT",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "ELECTRICITY_ENERGY_MONITOR",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "ELECTRICITY_ENERGY_SUPPLY_FLOW",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "ELECTRICITY_ENERGY_SUPPLY_REPORT",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "GAS_ENERGY_MONITOR",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "GAS_ENERGY_SUPPLY_FLOW",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "GAS_ENERGY_SUPPLY_REPORT",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "MACHINE_ENERGY_MONITOR",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "MACHINE_ENERGY_SUPPLY_FLOW",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "MACHINE_ENERGY_SUPPLY_REPORT",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM"]
  },
  {
    name: "AllEnergyConsume",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM", "CDA", "HOT_WATER_NEW"]
  },
  {
    name: "WaterEnergyConsume",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM", "CDA", "HOT_WATER_NEW"]
  },
  {
    name: "ElectricityEnergyConsume",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM", "CDA", "HOT_WATER_NEW"]
  },
  {
    name: "GasEnergyConsume",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM", "CDA", "HOT_WATER_NEW"]
  },
  {
    name: "MachineEnergyConsume",
    menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM", "CDA", "HOT_WATER_NEW"]
  }
  // {
  //   name: "ALL_ENERGY_SUPPLY_OVERVIEW",
  //   menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM", "CDA", "HOT_WATER_NEW"]
  // },
  // {
  //   name: "ALL_ENERGY_CONSUME_OVERVIEW",
  //   menus: ["ELECTRICTITY", "HOT_WATER", "NG", "HOT_STEAM", "CDA", "HOT_WATER_NEW"]
  // }
];

/**
 * @description:      副路由组件
 * @params isActive   当前副路由是否激活（默认 false）
 * @params menu       副路由唯一键，和 viceMenus 中的 menus 保持一致
 * @params menuName   副路由名称
 * @params icon       副路由svg组件
 * @params activeIcon 副路由svg组件（激活状态）
 */
export const totalViceMenus: Array<viceMenusTypes> = [
  {
    isActive: false,
    menu: "SPECIALTY",
    menuName: "特气",
    icon: markRaw(SPECIALTY),
    activeIcon: markRaw(SPECIALTY_ACTIVE)
  },
  {
    isActive: false,
    menu: "ATMOSPHERIC",
    menuName: "大宗气体",
    icon: markRaw(ATMOSPHERIC),
    activeIcon: markRaw(ATMOSPHERIC_ACTIVE)
  },
  {
    isActive: false,
    menu: "CHEMICALS",
    menuName: "化学品",
    icon: markRaw(CHEMICALS),
    activeIcon: markRaw(CHEMICALS_ACTIVE)
  },
  {
    isActive: false,
    menu: "ELECTRICTITY",
    menuName: "电",
    icon: markRaw(ELECTRICTITY),
    activeIcon: markRaw(ELECTRICTITY_ACTIVE)
  },
  {
    isActive: false,
    menu: "HOT_WATER",
    menuName: "水",
    icon: markRaw(HOT_WATER),
    activeIcon: markRaw(HOT_WATER_ACTIVE)
  },
  {
    isActive: false,
    menu: "NG",
    menuName: "LNG",
    icon: markRaw(NG),
    activeIcon: markRaw(NG_ACTIVE)
  },
  {
    isActive: false,
    menu: "HOT_STEAM",
    menuName: "蒸汽",
    icon: markRaw(HOT_STEAM),
    activeIcon: markRaw(HOT_STEAM_ACTIVE)
  },
  {
    isActive: false,
    menu: "CDA",
    menuName: "CDA",
    icon: markRaw(CDA),
    activeIcon: markRaw(CDA_ACTIVE)
  },
  {
    isActive: false,
    menu: "HOT_WATER_NEW",
    menuName: "热水",
    icon: markRaw(HOT_WATER_NEW),
    activeIcon: markRaw(HOT_WATER_NEW_ACTIVE)
  }
];
